The present invention relates to compression algorithms, and more particularly to compressing textual data for storage and/or transmission utilizing a network.
It is well known that an amount of dot data which is obtained by dividing image data of a character or the like into dots is extremely large. Therefore, in order to compress such a large quantity of data and then store or transmit the compressed data, various kinds of data compressing methods have been proposed. For example, the shape of a character or the like may be detected as a contour and contour information may be stored, thereby compressing the data amount.
For example, there are known: a straight line approximating method disclosed in Japanese Patent Laid-Open Applications Nos. 149522/1979 and 79154/1980; an n-degree curve approximating method disclosed in Japanese Patent Laid-open Nos. 39963/1982, 134745/1983, and 75976/1985; and the like.
Another approach is to convert the originally-scanned quantized data into a connected set of mathematically-defined boundaries of two-dimensional regions representing the xe2x80x9cinsidexe2x80x9d or xe2x80x9coutsidexe2x80x9d of a character. The boundaries are comprised of xe2x80x9ccurve elementsxe2x80x9d which, in the most primitive implementations, are simple line segments.
More sophisticated systems use more complex shapes such as quadratic or cubic Bezier curves. All of these systems have the objective of storage of these mathematical shapes, and reconstruction of the digital representations of the characters through properly constructed physical mechanisms or computer instructions.
A major benefit to the mathematical description is the ability to render output characters at any size by scaling the coordinate information stored in the character data descriptions, thereby eliminating the need for storage of bitmap data at every desired point size and/or output resolution. An added benefit of a mathematical description is the ability to subdivide the original outline into as many xe2x80x9ccurve elementsxe2x80x9d as necessary and to store the data representing them at whatever precision is required for replication of an original xe2x80x9cmasterxe2x80x9d design to the degree permitted by the scanning resolution.
Outline fonts are thus created by storing the outline of a character as a series of mathematical curves. This allows one to draw the character at any size with no additional information. However, one problem with outline fonts is that, at small sizes, they may become unreadable.
There is therefore a need for improved techniques for compressing fonts of a smaller size.
A system, method and computer program product are provided for the compression of characters with a predetermined size. Initially, a plurality of characters are received. Thereafter, the characters are compressed. Information is stored with the compression. Such information is capable of being used to modify the characters upon the characters being displayed with a predetermined size.
In one embodiment of the present invention, an outline of the characters is compressed. In use, the information modifies the characters for increasing the accuracy thereof when the characters are displayed with a smaller font size.
In another embodiment of the present invention, the information may include correction information capable of being used to correct the characters upon being displayed with the predetermined size. For example, the information may include position data, type data, and parameters data. Such information may further include point data, horizontal line data, vertical line data, move data, and bit map data.
An amount of the information may be a function of a size of the characters. In one embodiment, more information may be stored for characters of a smaller size. Moreover, the information may be capable of being used to modify the characters upon the occurrence of a special case when the characters are displayed with the predetermined size.
As an option, the information may be capable of being characterized in at least two different ways using the aforementioned data. As such, the appropriate way to characterize the information may be selected based on a size thereof.